<?php
/**
 * すべての学年の選手選択メニューを列挙する
 * DIV ID属性をキーに表示非表示制御を前提
 * ＜SELECT＞タグ外部生成
 * 生成済みの<SELECT><OPTION>,,,タグをまとめて管理するクラス
 */
require_once 'Smarty/Components/select.php';

/**
 * くらす
 * @author admin
 *
 */
class Components_SelectMember_Member extends Components
{
	/** テンプレートファイル名 */
	const TEMPLATE_FILE = 'member.tpl';
	/** ハッシュキー：ＩＤ */
	const KEY_ID = 'ID';
	/** ハッシュキー：ＳＥＬＥＣＴ */
	const KEY_SELECT = 'SELECT';
	/** ハッシュキー：ＤＩＳＰＬＡＹ */
	const KEY_DISPLAY = 'DISPLAY';
	/** 選手選択メニューコントローラ */
	public $htmlSelectMemberList;
	/** デフォルト選択年齢 */
	protected $_sSelectedAge;

	/**
	 * コンストラクタ
	 * @param  $sCompileDir
	 * @param  $sCompileId
	 * @param $sSelectedAge デフォルト選択学年（’U9')
	 */
	public function __construct($sCompileDir, $sCompileId, $sSelectedAge)
	{
		parent::__construct(dirname(__FILE__), $sCompileId);
		$this->_sSelectedAge = $sSelectedAge;
	}

	/**
	 * 選手選択メニューコントローラ登録
	 * @param  $index エントリ番号（管理用）ソースの並び順
	 * @param  $ID ’U7'から始まるHTMLのID属性
	 * @param  $htmlSelect ＨＴＭＬセレクトタグ  '<SELECT ..><OPTION>...の生HTML
	 */
	public function setHtmlSelectMemberList($index, $ID, $htmlSelect)
	{
		$this->htmlSelectMemberList[$index][self::KEY_ID] = $ID;
		$this->htmlSelectMemberList[$index][self::KEY_SELECT] = $htmlSelect;
		$this->htmlSelectMemberList[$index][self::KEY_DISPLAY] = $this->_setStartDisplay($ID);
	}

	/**
	 * (non-PHPdoc)
	 * @see Smarty_Components::fetch()
	 */
	public function fetch()
	{
		$this->view->SelectMemberList = $this->htmlSelectMemberList;
		$sHtml = parent::fetch(self::TEMPLATE_FILE);
		return $sHtml;
	}

	/**
	 * HTTPリクエストからstyle display属性値を返却する
	 * HTTPリクエストキー：SELECT
	 * SELECTED VALUE = 'U7';
	 */
	protected function _setStartDisplay($ID)
	{
		/***
		 * HTTPリクエスト判定
		 */
		if ( $this->_sSelectedAge == $ID ) {
			return 'inline';
		}
		return 'none';
	}
}